//============================================================================================
/**
 * @file	phclink_sel_sub.h
 * @brief	PHCポケモン選択アプリ	上画面
 * @author	Nozomu Saito
 *
 * モジュール名：PhcLnkSelSub_
 */
//============================================================================================

#ifndef __PHCLNK_SEL_SUB_H__
#define __PHCLNK_SEL_SUB_H__

#include "common.h"
#include "system/buflen.h"

#define MARKING_MAX	(6)			///< マーキング種類

typedef struct PHCLNK_SEL_SUB_tag * PLNKS_CNT_PTR;

typedef enum{
	PLNKS_REDRAW_CLEAR,		///< 情報クリア
	PLNKS_REDRAW_THROUGH,	///< 書き換え不要
	PLNKS_REDRAW_UPDATE,	///< 書き換え
}PLNKS_REDRAW;

//情報書き換えに必要なデータ構造体
typedef struct PLNKS_REDRAW_INFO_tag
{
	int PsnlRnd;	///< 個性乱数
	u16 MonsNo;		///< モンスターナンバー
	u8 Rare;		///< レア判定
	u8 Form;		///< フォルムナンバー

	u8 Sex;			///< 性別
	u8 ReDraw;		///< 書き換え必要か？	PSS_REDRAW参照
	STRCODE NickName[MONS_NAME_SIZE+EOM_SIZE]; ///< ニックネーム	22byte

	u8 Marking[MARKING_MAX];	///< マーキング
	u16 Item;					///< どうぐ

	u8 Level;					///< レベル
	u8 dummy[3];				///<
}PLNKS_REDRAW_INFO;

extern PLNKS_CNT_PTR PhcLnkSelSub_Alloc(const int inHeapID);
extern void PhcLnkSelSub_Init(PLNKS_CNT_PTR ptr, GF_BGL_INI *inBGL);
extern void PhcLnkSelSub_ReDraw(PLNKS_CNT_PTR ptr, const PLNKS_REDRAW_INFO* inReDrawInfo);
///extern void PkthSelSub_SetFirstDraw(PSS_CNT_PTR ptr);
extern void PhcLnkSelSub_Draw(PLNKS_CNT_PTR ptr);
extern void PhcLnkSelSub_Free(PLNKS_CNT_PTR ptr);

#endif //__PHCLNK_SEL_SUB_H__
